package com.the_last.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 订单详情VO
 */
@Data
public class OrderDetailVO {
    /**
     * 订单ID
     */
    private String id;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 用户姓名
     */
    private String userName;
    
    /**
     * 用户电话
     */
    private String userPhone;
    
    /**
     * 配送员姓名
     */
    private String deliverymanName;
    
    /**
     * 配送员电话
     */
    private String deliverymanPhone;
    
    /**
     * 提交时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date submitTime;
    
    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date paymentTime;
    
    /**
     * 完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date completeTime;
    
    /**
     * 订单状态
     */
    private String status;
    
    /**
     * 总金额
     */
    private BigDecimal totalAmount;
    
    /**
     * 订单项详情列表
     */
    private List<OrderItemVO> orderItems;
    
    /**
     * 订单项VO
     */
    @Data
    public static class OrderItemVO {
        /**
         * 订单项ID
         */
        private Integer id;
        
        /**
         * 商品ID
         */
        private Integer productId;
        
        /**
         * 商品名称
         */
        private String productName;
        
        /**
         * 商品图片URL
         */
        private String productImageUrl;
        
        /**
         * 购买数量
         */
        private Integer quantity;
        
        /**
         * 购买时价格
         */
        private BigDecimal purchasePrice;
        
        /**
         * 小计金额
         */
        private BigDecimal amount;
    }
}